MENTAL, UN LENGUAJE
SIMPLE FUNDAMENTO
DE LA COMPLEJIDAD

“La ciencia es realmente la búsqueda de la simplicidad” (Claude A. Villee)

“En la profundidad más profunda se halla lo más simple” (Ken Wilber)

“Todo es muy difícil antes de ser sencillo” (Thomas Fuller)



Complejidad vs. Simplicidad

Complejidad y simplicidad son conceptos cualitativos opuestos que están conectados:
Características de la complejidad
Características de la simplicidad
El desafío de la complejidad

El desafío de la complejidad es establecer un nuevo paradigma más general o universal:
Complejidad Computacional y Descriptiva

Complejidad computacional

La complejidad computacional de una entidad matemática se define como “la longitud del programa más corto que lo genera”. Se llama también “complejidad algorítmica” o “complejidad de Kolmogorov” y es una medida asociada al grado de dificultad de especificación de una entidad matemática mediante un programa, algoritmo o expresión operativa (constructiva, computacional) que genera dicha entidad.

Esta definición no hace referencia alguna a:
  1. El tiempo de proceso. Se supone que el algoritmo debe ejecutarse en un número finito de pasos.

  2. El espacio de memoria ocupado por el programa (espacio estático) y el espacio que necesita durante la ejecución (espacio dinámico). Se supone que el entorno computacional (teórico o real) es finito.

  3. La posibilidad de que el algoritmo sea dinámico, es decir, que se automodifique durante la ejecución.
Para ilustrar el concepto de complejidad algorítmica, fijémonos en la estructura de las secuencias: La complejidad algorítmica depende de dos factores:
  1. El lenguaje utilizado.
    Existe un teorema de invariancia que afirma que un lenguaje computacional puede emular a cualquier otro del mismo tipo, es decir, todos los lenguajes son computacionalmente equivalentes. Por lo tanto, se puede utilizar cualquier lenguaje, pero las longitudes de las expresiones en distintos lenguajes diferirán como máximo en una cierta constante.

  2. El algoritmo de generación utilizado.
    Es imposible asegurarse que el algoritmo utilizado sea el más corto posible. Solo puede establecerse un límite superior. Dado que podrían existir algoritmos alternativos más cortos (no conocidos), existe lo que se denomina “incertidumbre algorítmica” y, por lo tanto, la complejidad algorítmica es incomputable, es decir, indecidible.
Además de la incertidumbre algorítmica (cuando se dispone de al menos un algoritmo), existe incertidumbre cuando no somos capaces de encontrar ningún algoritmo (por ejemplo, para una secuencia) y no sabemos, por tanto, si dicha secuencia es o no aleatoria. El teorema de Chaitin demuestra que existen secuencias indecidibles, en el sentido de que es imposible conocer si son o no aleatorias. Este teorema es análogo al de Gödel relativo a los sistemas axiomáticos formales, en el que se demuestra que existen sentencias indecidibles.

El concepto de complejidad algorítmica fue planteado inicialmente por Ray Solomonoff, definido por Andrei Kolmogorov y ampliado posteriormente por Gregory Chaitin, todos ellos durante los años 1960s.


Complejidad descriptiva

Es la medida asociada a la dificultad de descripción de una entidad matemática. La complejidad descriptiva depende en este caso de tres factores:
  1. Del lenguaje descriptivo utilizado.
    Tradicionalmente se ha utilizado el lenguaje formal de la lógica matemática.

  2. De la expresión descriptiva utilizada.
    Puede haber varias formas alternativas válidas. También en este caso hay incertidumbre, pero de tipo descriptivo.

  3. De la resolución, es decir, del grado de detalle de la descripción.
El tema de la complejidad descriptiva arranca en 1974, cuando Ron Fagin [1974] demuestra que la complejidad de la clase de problemas NP es la misma que la clase de problemas que se describen en la lógica existencial de segundo orden [ver Adenda]. Esto quiere decir que la complejidad computacional de un problema NP se puede entender en función de la complejidad de su descripción lógica.

Según Fagin, existe la siguiente correspondencia entre las medidas de la complejidad descriptiva y los recursos asociados a la complejidad algorítmica:
  1. El nivel de profundidad de los cuantificadores se corresponde con el tiempo de cálculo en un entorno de computación paralelo.

  2. El número de variables de la expresión descriptiva se corresponde con la cantidad de hardware necesario (memoria y procesadores).

La Complejidad según Wolfram

Un “nuevo tipo de ciencia”

Stephen Wolfram publicó en 2002 “A New Kind of Science” (NKS), un voluminoso libro (1197 páginas), resultado de muchos años de investigación en el campo de la computación, en el que afirma haber inventado/descubierto un paradigma científico universal para realizar modelos de sistemas y para entender el propio universo. Wolfram es el creador de Mathematica, un software de cálculo matemático y de representación gráfica, con el que realizó todas sus investigaciones. Éstas se centraron en los autómatas celulares (ACs) porque descubrió que un conjunto de reglas simples y de tipo local, aplicadas recursivamente, podían generar formas o patrones de gran complejidad. Esto se explica porque, aunque las reglas son locales, sus efectos (al aplicar las reglas recursivamente) se difunden por todo el sistema, afectándolo globalmente. La publicación de NKS provocó cierta polémica. Para unos no era ningún avance, sino una presentación (un tanto exhaustiva) de cosas ya conocidas. Para otros, estas ideas amenazan incluso a la propia noción de ciencia.

Las conclusiones de Wolfram, tras muchos años de investigación, se pueden resumir así:
El Principio de Equivalencia Computacional (PEC)

Es el resultado o conclusión más importante de Wolfram: “Hay varias formas de establecer el PEC, pero probablemente el más general es decir que casi todos los procesos que no son obviamente simples se pueden considerar como computaciones de sofistificación equivalente”. Según Wolfram, no hay diferencia fundamental entre un AC de 30 reglas y una mente humana, o entre un huracán y el universo entero. Todos son cómputos de complejidad equivalente. Para Wolfram, el PEC es una ley de la naturaleza, comparable en importancia a la ley de la gravedad, pues lo comparten todos los procesos del universo.

La definición de PEC es un tanto críptica, se puede interpretar de la manera siguiente:
El principio de irreductibilidad computacional

Este principio tiene dos aspectos:
  1. Dado un modelo formado por un conjunto de reglas previamente conocidas, puede llevar una cantidad irreducible de trabajo computacional el descubrir la consecuencia del modelo. Es decir, no se puede predecir el resultado final, siendo necesario pasar por todos los estados intermedios.

    Algunos modelos tienen reductibilidad computacional (se puede prever el resultado), pero los modelos más interesantes son los que tienen irreductibilidad computacional, pues hacen un uso más rico y creativo de los recursos.

  2. No se puede hacer ingeniería inversa. Es decir, dados los datos, no es posible deducir o encontrar el modelo correspondiente (el conjunto de reglas).

Crítica de NKS
Complejidad en MENTAL

Teoría de la simplicidad

La teoría de la complejidad se debería llamar realmente “teoría de la simplicidad”, por las siguientes razones:
MENTAL, un lenguaje simple fundamento de la complejidad

MENTAL cumple los criterios del desafío de la complejidad:
Definición unificada de complejidad

Como MENTAL es un lenguaje operativo y descriptivo, podemos unificar los dos aspectos de la teoría de la complejidad (la complejidad computacional y la complejidad descriptiva) mediante la definición siguiente: la complejidad de una entidad o expresión matemática es la longitud de la expresión más corta que la genera o describe. Ejemplos (la última columna es la complejidad):

TipoEntidadExpresiónComplej.
Átomoaa1
Secuencias de elementos repetidosaaaaaaaaa( a★9 )7
(abc abc abc)( abc★3 )9
Secuencias infinita de elementos igualesaaaa…( a★ )6
(abc abc …)( abc★ )8
PredefinidasExpresión nulaθ1
Expresión disyuntiva universalα1
Expresión conjuntiva universalΩ1
Secuencia vacía()2
Conjunto vacío{}2
Distribuciones(au av aw)(a[u v w])16
(aub avb awb)(a[u v w]b])11
Rangos
discretos
finitos
Secuencia de números naturales entre 1 y 100( 1…100 )9
Secuencia entre n y n+10( n…(n+10) )12
(1 3 5 7 9 11)(1 3 … 11)10
Rangos
discretos
infinitos
Números naturales{ 1… }6
Números naturales impares{1 3 …}7
Rango
continuo
Números reales entre 0 y 1{⟨rr≤0 ← r≤1⟩}16
FunciónFunción de dos variables⟨(f(x y) = (x+y x*y))⟩22

Observaciones:

Adenda

Distinción entre información y complejidad computacional

Shannon presentó en 1948 la teoría moderna de la información. Definió la información I asociada a un evento de probabilidad P como binary digit− es la unidad de información y corresponde a la información asociada a un evento de probabilidad P =1/2. El valor asociado a un bit se representa como 0 o 1.

Si tenemos una secuencia x de n bits y cada elemento (0 y 1) tiene la misma probabilidad (1/2), la información asociada a una cadena específica x es Es decir, la información es la longitud de la secuencia.

Si la secuencia x es aleatoria, su complejidad algorítmica coincide con la información: Shannon introdujo también el concepto de entropía (H) de la información, con el objeto de medir el grado de aleatoriedad (o desorden) de una cadena de bits equiprobables: en donde Fi es la frecuencia relativa de aparición del evento i, y m es el número de eventos.

Ejemplos:

SecuenciaF0F1H
001000106/82/80.81
010101014/84/81
000000008/80/80

De aquí se deduce que la fórmula de Shannon no es adecuada para cuantificar la aleatoriedad, pues intuitivamente se ve que la primera cadena es más aleatoria que la segunda y, sin embargo, su entropía es menor. La fórmula de la entropía, como se deduce de su definición, tiene más sentido cuando se aplica a bolsas (conjuntos con elementos repetidos y donde el orden no se tiene en cuenta).

El concepto de complejidad algorítmica es más genérico que el de información porque se puede aplicar a cualquier entidad matemática, sin considerar probabilidades o frecuencias.


Lógica existencial de segundo orden

La lógica de primer orden es la lógica que utiliza predicados o relaciones entre elementos. Las fórmulas son de la forma P(x1,…,xn), siendo P el predicado y x1,…,xn los elementos. Los elementos variables se pueden cuantificar (con el cuantificador universal ∀ o el existencial ∃), pero no se pueden cuantificar los predicados.

La lógica de segundo orden es la lógica de primer orden, junto con la posibilidad de cuantificar los predicados y especificarlos mediante variables.

La lógica existencial de segundo orden es la lógica de segundo orden en la que las variables de los predicados están cuantificadas con el cuantificador existencial ∃.


Clases de complejidad de los problemas

Existen varias clases de complejidad de problemas, dependiendo del tipo de algoritmo utilizado para resolverlo, así como los recursos de espacio (memoria) y tiempo necesarios:

ClaseAlgoritmoEspacioTiempo
LDeterministaLogarítmico-
NLNo deterministaLogarítmico-
PDeterminista-Polinómico
NPNo determinista-Polinómico
PSPACEDeterministaPolinómico-

Como el teorema de Fagin hace referencia a la clase NP, vamos a explicar las diferencias entre las clases P y NP: Un algoritmo no determinista es aquel que no se ejecuta según un esquema fijo, sino que varía en función de decisiones adoptadas durante su ejecución. Un ejemplo de problema NP es el famoso problema del viajante, en el que existen algoritmos no deterministas que lo resuelvan eficientemente.

Todo problema de P está en NP (P ⊂ NP), pero lo contrario (NP ⊂ P) no se ha demostrado. Subsiste la duda de si P = NP.


Autómatas celulares vs. Fractales

Existen varios paralelismos y analogías entre los ACs y los fractales: Los ACs constituyen un paradigma universal, habiéndose aplicado, como los fractales, a diversidad de áreas, en especial para la generación de patrones de la naturaleza: formas de las conchas marinas, cristales y copos de nieve, pigmentación en los animales, crecimiento de las plantas, filotaxis (disposición de las hojas sobre el tallo de las plantas), formación de galaxias, etc. Y también para robótica, simulación de flujo de fluidos, bioingeniería, criptografía, sistemas auto-organizados, nanotecnología, fractura de materiales, química (formación de moléculas), arquitectura, arte, música, etc.


Origen de los autómatas celulares

Los ACs fueron concebidos en los años 1940s por Konrad Zuse y Stanislaw Ulam.

Konrad Zuse publicó un artículo en 1967 y posteriormente [1969] un libro (Calculating Space) en el que afirmaba que el universo es el resultado de un proceso computacional discreto funcionando sobre un autómata celular gigante de tipo determinista.

Las contribuciones de Ulam vinieron al final de los años 1940s, poco después de haber inventado (junto con Nicholas Metropolis y John von Neumann) el método de Montecarlo, un método estadístico (no determinista) utilizado para aproximar expresiones matemáticas complejas.

John von Neumann, también en los años 1940s, aplicó los ACs (a sugerencia de Stanislaw Ulam) en el estudio de sistemas complejos, en concreto en el diseño de autómatas autorreprodutores (autómatas que se reproducen a sí mismos) y que reflejó en su libro “Theory of Self-reproducing Automata”.


El juego de la vida, de Conway

El juego de la vida, creado por John Conway, es un AC bidimensional con dos estados (blanca o negra) para cada célula, que representa el paradigma de la complejidad dinámica a partir de lo simple: tres reglas muy simples producen resultados dinámicos extremadamente complejos. Las reglas son:
  1. Si una celda negra tiene 2 ó 3 vecinas negras, permanece negra.
  2. Si una celda blanca tiene 3 vecinas negras, se convierte en negra.
  3. En el resto de los casos, la celda permanece blanca (si es blanca) o se convierte en blanca (si es negra).

Simplejidad

La simplejidad (simplexity) es una nueva teoría que propone una relación dual o complementaria entre simplicidad y complejidad. Se atribuye a Anuraj Gambhir un visionario e innovador en el campo de las tecomunicaciones móviles la creación de este término, que fusiona los términos de simplicidad y complejidad. Pero fue el libro “Simplejidad: Por qué las cosas simples acaban siendo complejas y cómo las cosas complejas pueden ser simples”, de Jeffrey Kluger [2009], el que quizás más ha contribuido a la popularización de este término.

Kluger analiza en su libro los sistemas tecnológicos y sociales. Estudia también el comportamiento humano y la forma en que percibimos las cosas y los eventos. Establece un paralelismo entre sistemas aparentemente dispares según su grado de simplejidad. Propone una nueva teoría obre cómo funcionan realmente las cosas, teoría que aplica a una gran variedad de temas. Incluso afirma que entendiendo la relación entre simplicidad y complejidad puede hacer mejorar la vida de las personas. Pero se echa en falta en el libro el cómo hacer que las cosas principalmente los productos tecnológicos sean más simples.


Pléctica

Murray Gell-Mann −premio Nobel de física en 1969 por el desarrollo del modelo de los quarks, las partículas componentes de los nucleones (los protones y neutrones)− acuñó el término “plectics” (pléctica) para referirse a un dominio de investigación interdisciplinario en los que intervienen los aspectos de simplicidad y complejidad. Más abreviadamente, la pléctica es la ciencia que estudia la simplicidad y la complejidad, y su interacción entre ellas, en todo tipo de sistemas.

La inspiración de Gell-Mann para crear y denominar esta ciencia se basó en la diferencia entre las leyes simples que gobiernan el comportamiento de la materia a nivel cuántico y la complejidad resultante del proceso de evolución. A nivel cuántico, a nivel profundo, las partículas tienen uniformidad, no tienen individualidad, son intercambiables. En cambio, a nivel superficial hay diversidad e individualidad. En su obra “El quark y el jaguar” [1995], el quark simboliza lo simple y el jaguar lo complejo, y se pregunta cómo lo simple puede llegar a crear lo complejo.

Gell-Mann eligió la palabra “pléctica” porque hace referencia a la vez a lo simple y a lo complejo. Recomienda este término en lugar de “ciencia de los sistemas” o “teoría de sistemas” porque “sistema” es un término demasiado genérico. Gell-Mann fue Distinguished Fellow en el Instituto Santa Fe (Nuevo Méjico), un instituto de estudios interdisciplinarios (del que fue cofundador), dedicado al estudio de la complejidad de los sistemas naturales, artificiales y sociales. En especial, estudia los sistemas adaptativos complejos (complex adaptative systems), los sistemas que son capaces de aprender, adaptarse, auto-organizarse, evolucionar y producir comportamientos emergentes; los sistemas dinámicos no-lineales, incluyendo la teoría del caos; la evolución biológica; el desarrollo de ecosistemas; el aprendizaje; la evolución de los lenguajes humanos; el auge y caída de las culturas; el comportamiento de los mercados; etc. Gell-Mann se declaró contrario al reduccionismo puro. Según él, el reduccionismo no es el camino para hacer ciencia, aunque reconoció que la búsqueda de la simplicidad es un criterio o método útil en la búsqueda de las leyes fundamentales de la ciencia. En este sentido se opuso a las ideas reduccionistas de científicos como Steven Weinberg y Richard Feynman.


El pensamiento complejo, de Edgar Morin

Edgar Morin es el creador del concepto “pensamiento complejo” [Morin, 1990], un tipo de pensamiento necesario para abordar la complejidad de la realidad y que tiene las características siguientes: Morin plantea 7 principios para fundamentar el pensamiento complejo:
  1. El pensamiento sistémico u organizativo.
    Está basado en la relación parte-todo, siguiendo la filosofía de Pascal: “Pienso que es imposible concebir las partes sin el conocimiento del todo”.

  2. El pensamiento hologramático.
    El todo está inscrito en las partes y el todo está inscrito en las partes. Hay una dinámica continua entre el todo y las partes. Este tipo de pensamiento es diferente del holístico, porque este es de tipo reduccionista, pues solo ve el todo.

  3. El pensamiento de retroalimentación.
    La causa actúa sobre el efecto y el efecto actúa sobre la causa.

  4. El pensamiento de bucle recursivo en la auto-producción y auto-organización.
    El concepto sistémico clave es el de bucle de realimentación o causalidad circular. Hay bucles retroactivos (como en la cibernética), para definir procesos autorregulados, y bucles recursivos: productos y efectos son productores y causantes de lo que producen.

  5. El pensamiento de autonomía que contempla sistemas abiertos y cerrados a la vez.

  6. El pensamiento dialógico.
    Para comprender nociones antagónicas. Une los opuestos, que se complementan y coexisten: diferencia y unidad, autonomía y dependencia, conocedor y conocimiento, parte y todo, orden y desorden, sistema y entorno (o ecosistema), etc. “Hay que religar lo que estaba considerado como separado”.

  7. El pensamiento de reintroducción del que conoce en lo conocido.
    Todo conocimiento es una reconstrucción o traducción. “Nuestras visiones del mundo son traducciones del mundo”.

Las 10 leyes de la simplicidad, de John Maeda

John Maeda −diseñador gráfico, artista visual y tecnólogo informático− propone un acercamiento humanista al diseño en general, y a la tecnología en particular, mediante sus 10 leyes de la simplicidad [Maeda, 1966]:
  1. Reducir. Reducir escondiendo los atributos y funcionalidades de un producto, de tal manera que solo aparezcan las que necesita el consumidor o el usuario. La calidad debe estar incorporada en un producto, pero sin que se vea directamente.

  2. Organizar. Un sistema complejo organizado hace que parezca más sencillo.

  3. Tiempo. Ahorrar tiempo hace que las cosas parezcan más simples.

  4. Conocimiento. El conocimiento lo simplifica todo.

  5. Diferencia. Simplicidad y complejidad se necesitan mutuamente. La simplicidad solo se percibe como contraste de la complejidad. Por ejemplo, un aparato de un solo botón sorprende y se le ve simple porque se esperan más botones.

  6. Contexto. Lo que se encuentra en la periferia de la simplicidad no es nada periférico, sino muy relevante.

  7. Emoción. Un producto debe emocionar.

  8. Confianza. Hay que confiar en que la simplicidad es el camino seguro para el diseño y la comunicación.

  9. Fracaso. A veces el fracaso es necesario para lograr el objetivo final de la simplicidad.

  10. La única. La simplicidad consiste en eliminar lo obvio y añadir lo importante y significativo. Según Maeda, esta ley es un resumen de las anteriores y constituye una simplificación de las leyes de la simplicidad. Esta ley se basa en 3 claves:

    1. Distancia. Desde fuera, desde lejos, todo parece más simple. Nos permite ver el bosque (lo simple) y no los árboles (lo complejo).

    2. Apertura. Lo que está abierto inspira confianza y hace parecer más simple.

    3. Energía. Hay que ahorrar energía usando los menores recursos posibles.
Maeda describe en el libro su lucha por comprender el sentido de la existencia desde su condición de tecnólogo humanista. El libro está escrito con los mismos principios que postula, y es una guía para construir un mundo más sencillo.


Bibliografía